package com.yootk.task;

import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.concurrent.TimeUnit;

/**
 * Spring定时任务
 */
@Slf4j
//@Component
public class SpringTask {

    // 每2秒触发一次当前的任务
    @Scheduled(fixedDelay = 2000)
    public void runJobA() throws InterruptedException {     // 间隔任务
        log.info("【RATE任务】{}", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").format(new Date()));
        TimeUnit.SECONDS.sleep(5);  // 强制模拟5秒的延迟
    }

    // 每秒触发一次CRON任务
    @Scheduled(cron = "* * * * * ?")
    public void runJobB() {     // CRON任务
        log.info("【CRON任务】{}", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").format(new Date()));
    }
}
